Table des matières
Le réseau avec systemd-networkd
Le réseau avec systemd-networkd
Comme vous le savez, systemd est plus qu'un système d'init et de gestion des services !
Voici quelques exemples de configuration possibles avec systemd !
Cet article sera consacré à la gestion du réseau.
Pour faire fonctionner le réseau avec systemd, nous aurons besoin de :
systemd-networkd.service => Le service réseau
systemd-resolved.service => Le service de résolution de nom
A noter que systemd-resolved peut être utilisé sans systemd-networkd.
Si on utilise systemd-networkd, il faut évidemment désactiver le service NetworkManager (ou autre gestionnaire réseau) !
Toutes les configuration réseau se trouvent dans /etc/systemd/network/.
Comme toute commande systemd, elle finit par ctl, et nous utiliserons networkctl.
Pour lister les interfaces, on peut donc utiliser :
networkctl list
Lorsque aucune interface n'est paramétrée, on a une sortie de ce style :
# networkctl list
IDX LINK TYPE OPERATIONAL SETUP
1 lo loopback carrier unmanaged
2 enp0s3 ether routable unmanaged
La commande networkctl list nous produit ceci une fois l'interface configurée :
# networkctl list
IDX LINK TYPE OPERATIONAL SETUP
1 lo loopback carrier unmanaged
2 enp0s3 ether routable configuring
A noter, la commande networkctl status permet d'afficher plus d'infos :
# networkctl status
● State: routable
Address: 192.168.21.195 on enp0s3
fe80::f858:6feb:af9b:43c9 on enp0s3
Gateway: 192.168.21.254 (TP-LINK TECHNOLOGIES CO.,LTD.) on enp0s3
fe80::24ca:f9ff:fe9b:7f30 (TP-LINK TECHNOLOGIES CO.,LTD.) on enp0s3
Après chaque modification, on doit redémarrer le service :
systemctl restart systemd-networkd
Sur la machine concernée, l'interface réseau s'appelle enp0s3.
Je vais créer le fichier /etc/systemd/network/enp0s3-ethernet.network.
Il est important que le fichier de configuration de l'interface réseau ait l'extension .network.
Pour les exemples simples ci-dessous, voici les valeurs utilisables dans notre fichier .network :
[Match]
Name=Nom de l'interface
MACAddress=Adresse MAC de l'interface
[Link]
MACAddress=Changer l'adresse MAC
MTUBytes=Changer la valeur du MTU
[Network]
DHCP=ipv4 ou ipv6 (si non indiqué, vaut false, true = ipv4 et ipv6)
Address=IP fixe (si DHCP non actif, avec masque en notation CIDR)
Gateway=IP du routeur (si DHCP non actif)
DNS=IP du DNS (Cette ligne peut être utilisée 2 fois pour spécifier 2 DNS)
Exemple avec une configuration DHCP :
[Match]
Name=enp0s3
[Network]
DHCP=ipv4
Exemple avec une configuration statique :
[Match]
Name=enp0s3
[Network]
Address=192.168.21.240/24
Gateway=192.168.21.254
DNS=1.1.1.1